<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>


    <script>

        // Boolean 对象。 
        // 关于其他类型隐式转换为布尔类型

        if (!0) {
            console.log("0 == false")
        }
        if (!null) {
            console.log("null == false")
        }
        if (!"") {
            console.log(`${""} == false`)
        }
        if (!undefined) {
            console.log("undefined == false")
        }
        if (!NaN) {
            console.log("NaN == false")
        }

        // 引用类型{},[] 都是true
        if ({}) {
            console.log("{}  == true")
        }

        if ([]) {
            console.log("[] == true")
        }

        // 使用Boolean显示转换
        console.log(`Boolean({}) =${Boolean({})}   `) // true
        console.log(`Boolean([]) =${Boolean([])}   `) // true

        // 同boolean类型比较前，会将所有非布尔值转换为数值
        // [] 转换为 0
        console.log(`Number([]) ==  ${Number([])}`) // 0
        console.log(`Number(false) ==  ${Number(false)}`) // 0
        console.log([] == false); //true




    </script>
</body>

</html>